<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // 在es2015之前，不明确指定参数的值，则默认为undefined
    function defaultValueBefore2015(a, b) {
        console.log(a, b);
    }
    defaultValueBefore2015(); // undefined undefined

    // 在es2015中，引入：在函数中可以指定参数默认值
   /* 特性：
    1，函数的默认参数值是在函数调用时确定的，所以可以在参数中使用条件判断表达式
    2，传入undefined时等同于没有传值
    3，不指定默认值的参数值为undefined*/
    function animalSentence(animal1 = "老虎", animal2 = (animal1==="熊"?"狮子":"熊"), animal3) {
        return `森林中的动物包括：${animal1}和${animal2}和${animal3}！`;
    }
    console.log(animalSentence()); // 森林中的动物包括：老虎和熊和undefined！
    console.log(animalSentence(undefined, undefined, undefined)); // 森林中的动物包括：老虎和熊和undefined！
    console.log(animalSentence("大象")); // 森林中的动物包括：大象和熊和undefined！
    console.log(animalSentence("熊")); // 森林中的动物包括：熊和狮子和undefined！
    console.log(animalSentence("野猪", "棕鹿")); // 森林中的动物包括：野猪和棕鹿和undefined！
</script>
</body>
</html>